package com.tbit.uqbike.service.business;

import com.tbit.manager.api.dto.GiftCardUserDTO;
import com.tbit.uqbike.object.pojo.GiftCardUser;
import com.tbit.uqbike.object.value.LoginInfo;

/**
 * @author chenmengran
 * @Description: 用户礼品卡使用情况
 * @date 2020\1\4 000413:57
 */
public interface GiftCardUserService {

    /**
     * 获取用户对于运营区域的礼品卡余额
     *
     * @param accountId
     * @param userId
     * @return
     */
    GiftCardUser getByUser(Integer accountId, Integer userId);

    /**
     * 添加用户礼品卡金额
     *
     * @param accountId
     * @param userId
     * @param money
     */
    void add(Integer accountId, Integer userId, Integer money);

    /**
     * 更新用户礼品卡金额
     *
     * @param accountId
     * @param userId
     * @param money
     */
    void updateMoney(Integer accountId, Integer userId, Integer money);

    /**
     * 礼品卡充值
     *
     * @param accountId
     * @param userId
     * @param money
     * @param remark
     * @param loginInfo
     */
    void recharge(Integer accountId, Integer userId, Integer money, String remark, LoginInfo loginInfo);

    /**
     * 获取用户对于运营区域的礼品卡余额
     *
     * @param accountId 区域id
     * @param userId 用户id
     * @return GiftCardUserDTO
     */
    GiftCardUserDTO getRechargeMoneyAndGiftMoney(Integer accountId, Integer userId);

}
